home *** CD-ROM | disk | FTP | other *** search
/ Hunter 2006 / Hunter 2006.iso / soft / sleipnir241.exe / {app} / scripts / ƒŠƒ“ƒNˆ— / ‚Q‚¿‚á‚ñ‚Ë‚é—pƒ_ƒbƒvƒAƒbƒv.js < prev    next >
Text File  |  2006-06-15  |  5KB  |  144 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // üuéQé┐éßé±é╦éΘüvùpâ|âbâvâAâbâvÉ╢ɼâXâNâèâvâg v0.4
  3. // Copyright (C) 2002 by t-arai
  4. //
  5. // üuéQé┐éßé±é╦éΘüvé╠âXâîâbâhò\ĪÄ₧é╔üAÉΩùpâuâëâEâUé╠éµéñé╔âîâXé≡â|âbâv
  6. // âAâbâvò\Īé│é╣éΘâXâNâèâvâgé┼é╖üB
  7. //
  8. // â|âbâvâAâbâvé≡ïûé╖ì┼æσìsé≡É▌ÆΦé╡é─é¡é╛é│éóüBé╜é╛é╡üAé▒é╠Ælé¬É│èmé╔
  9. // ö╜ëfé│éΩéΘéφé»é┼é═éáéΦé▄é╣é±üBéáé¡é▄é┼û┌ê└é╞ìléªé─é¡é╛é│éóüB
  10. //
  11. // û{âXâNâèâvâgé╠Åêù¥Ä₧è╘é═üAâyü[âWé╔ >>n é¬ë╜î┬éáéΘé⌐é┼îêé▄éΦé▄é╖üB
  12. // é▄é╜ö±âèâôâNé╠ >>n é╔æ╬ë₧é│é╣éΘé╞üAé╗é╠ò¬Ä₧è╘é¬é⌐é⌐éΦé▄é╖üB
  13. //
  14. // 
  15. // v0.4 "üt", ">>éÄ"(æSèpÉöÄÜ)é╔æ╬ë₧üB
  16. // v0.3 ö±âèâôâNé╠ >>n é╔æ╬ë₧üBüué▄é┐BBSüvé╔æ╬ë₧üBÅ≤ï╡ò\ĪüB
  17. // v0.2 ê°ùpâîâXé¬û│éóé╞é½é╔âXâNâèâvâgâGâëü[é╔é╚é┴é─éóé╜é╠é≡ÅCÉ│üB
  18. // v0.1 Åëî÷èJ
  19. //
  20. /////////////////////////////////////////////////////////////////////////////
  21.  
  22. //---------------------------------------------------------------------------
  23. // ôKôûé╚Ælé≡É▌ÆΦé╡é─é¡é╛é│éóüB
  24.  
  25. var maxlines   = 40;        // â|âbâvâAâbâvé≡ë╜ìsé▄é┼ò\Īé│é╣éΘé⌐
  26. var cut_notice = "<cut>"    // âîâXé╠É╪éΦÄ╠é─é≡Īé╖ò╢ÄÜù±
  27. var force_link = 0;            // ö±âèâôâNé╠ >>n é╔éαæ╬ë₧é╖éΘé⌐
  28.                             // (0 = no / 1 = yes / 2 = ïNô«Ä₧é╔æIæ≡)
  29. //---------------------------------------------------------------------------
  30.  
  31.  
  32. var pnir, id, window, document;
  33.  
  34. pnir     = new ActiveXObject("Sleipnir.API");
  35. id       = pnir.GetDocumentID(pnir.ActiveIndex);
  36. window   = pnir.GetWindowObject(id);
  37. document = pnir.GetDocumentObject(id);
  38.  
  39. var res_begin, res_end;
  40. var dt_tag, dt_len, dd_tag, a_tag, a_len;
  41. var num, dd_old, dd_new, tmp_title
  42. var i, j, k, per;
  43.  
  44. var res = new Array;
  45.  
  46. var re_title = new RegExp();
  47. var re_nolink = new RegExp();
  48. var re_age = new RegExp();
  49. var re_res = new RegExp();
  50.  
  51. re_title.compile("(\\d+) (û╝æO)?üF");
  52. //re_nolink.compile("(((>){1,2})|(üä{1,2}))(\\d+(\\-\\d+)?)([^<]*?)(?!</A>)<BR>");
  53. re_nolink.compile("(((>){1,2})|(üä{1,2})|üt)([0-9éO-éX]+([-ü|ü[][0-9éO-éX]+)?)([^-ü|ü[<0-9éO-éX]+?|<BR>)(?!</A>)");
  54. re_age.compile("<B>( *)([0-9éO-éX]+)( *)<\\/B><\\/FONT>");
  55. re_res.compile("([0-9éO-éX]+)([-ü|ü[]([0-9éO-éX]+))?$");
  56.  
  57. if(document == null){
  58.     pnir.MessageBox("Document âIâuâWâFâNâgé≡ì∞ɼé┼é½é▄é╣é±");
  59. }else{
  60.  
  61.     if(force_link == 2){
  62.         force_link = 7 - pnir.MsgBox("ö±âèâôâNé╠ >>n é╔éαæ╬ë₧é╡é▄é╖é⌐üH", "", 4);
  63.     }
  64. //    var start_t = new Date();
  65.  
  66.     document.body.style.cursor = "wait";
  67.     dt_tag = document.all.tags("dt");
  68.     dd_tag = document.all.tags("dd");
  69.     dt_len = dt_tag.length;
  70.     per = (dt_len > 900) ? 1 : (dt_len > 500) ? 2 : (dt_len > 200) ? 5 : 10;
  71.     for(i=0; i<dt_len; i++){
  72.         if((k=Math.ceil(i*100/dt_len)) % per == 0){
  73.             window.status = "âyü[âWé≡ë≡É═é╡é─éóé▄é╖... " + k +"%";
  74.         }
  75.         if(dt_tag[i].innerText.match(re_title)){
  76.           num = Number(RegExp.$1);
  77.           res[num] = dt_tag[i].innerText + "\n" + dd_tag[i].innerText;
  78.         }
  79.         if(force_link){
  80.             if(dt_tag[i].innerHTML.match(re_age)){
  81.                 dt_tag[i].innerHTML = RegExp.leftContext + RegExp.$1 + '<a href="' + RegExp.$2
  82.                                  + '"><font color=green><b>' + RegExp.$2
  83.                                  + '</b></font></a></font>'+ RegExp.$3 + RegExp.rightContext;
  84.             }
  85.             dd_old = dd_tag[i].innerHTML;
  86.             dd_new = "";
  87.             while(dd_old.match(re_nolink)){
  88.                 dd_new += RegExp.leftContext + '<a href="' + RegExp.$5 + '" target=_blank>'
  89.                         + RegExp.$1 + RegExp.$5 + "</a>" + RegExp.$7;
  90.                 dd_old = RegExp.rightContext;
  91.             }
  92.             dd_tag[i].innerHTML = dd_new + dd_old;
  93.         }
  94.     }
  95.  
  96.     window.status = "â|âbâvâAâbâvé≡É╢ɼé╡é─éóé▄é╖... ";
  97.     a_tag = document.links;
  98.     a_len = a_tag.length;
  99.     per = (a_len > 900) ? 1 : (a_len > 500) ? 2 : (a_len > 200) ? 5 : 0;
  100.     for(i=0; i<a_len; i++){
  101.         if(per > 0 && (k=Math.ceil(i*100/a_len)) % per == 0){
  102.             window.status = "â|âbâvâAâbâvé≡É╢ɼé╡é─éóé▄é╖... " + k + "%";
  103.         }
  104.         tmp_title = "";
  105.         if(a_tag[i].innerText.match(re_res)){
  106.           res_begin = isNaN(RegExp.$1) ? Number(escape(RegExp.$1).split("%uFF1").join(""))
  107.                                        : Number(RegExp.$1);
  108.           res_end   = (RegExp.$3) ? isNaN(RegExp.$3) ? Number(escape(RegExp.$3).split("%uFF1").join(""))
  109.                                                      : Number(RegExp.$3)
  110.                                   : res_begin;
  111.           for(j=res_begin; j<=res_end; j++){
  112.                 tmp_title += (res[j]) ? res[j] + "\n\n" : "(" + j + ")\n";
  113.             }
  114.             if(tmp_title){
  115.                 while( tmp_title.lastIndexOf("\n") == tmp_title.length - 1 ){
  116.                     tmp_title = tmp_title.slice(0, -1);
  117.                 }
  118.                 a_tag[i].title = tmp_title.split("\n", maxlines).join("\n");
  119.                 if(a_tag[i].title != tmp_title) a_tag[i].title += "\n" + cut_notice;
  120.             }else{
  121.                 a_tag[i].title = "";
  122.             }
  123.         }
  124.     }
  125.     window.status = "";
  126.     document.body.style.cursor = "auto";
  127.     document = null;
  128.  
  129. //    pnir.MessageBox((new Date() - start_t) / 1000);
  130. //    start_t = null;
  131.  
  132. }
  133.  
  134. re_res = null;
  135. re_age = null;
  136. re_nolink = null;
  137. re_title = null;
  138. res = null;
  139.  
  140. window = null;
  141. id = null;
  142. pnir = null;
  143.  
  144.